package com.gem.service;

import com.gem.domain.TrainingOrder;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;

import java.util.Date;
import java.util.List;

/**
 * @author Bravea❤ ·勇
 * Description: 实训订单service接口
 * create
 * Modified By:
 */
public interface TrainingOrderService {

    //添加实训订单
    boolean addTrainingOrder(TrainingOrder t);

    //批量添加
    boolean addTrainingOrderList(List<TrainingOrder> list);

    //查找单个实训订单
    TrainingOrder selectTrainingOrderById(String training_order_id);

    //删除实训订单 一个或多个
    boolean deleteTrainingOrderById(String[] training_order_id);

    //修改实训订单
    boolean modifyTrainingOrderById(TrainingOrder t);

    //查询所有实训订单（条件）
    List<TrainingOrder> searchTrainingOrder(String training_order_name, String training_order_IDNumber, Date training_order_payDate);

    //查询所有实训订单  分页
    PageInfo<TrainingOrder> searchTrainingOrderByPage(Integer currentPage, Integer pageSize, String trainingOrderName, String trainingOrderIDNumber, Date trainingOrderPayDate);

    //查询市场实训订单（条件）
    List<TrainingOrder> searchTrainingOrderNoOther(String training_order_name, String training_order_IDNumber, Date training_order_payDate);

    //查询市场实训订单  分页
    PageInfo<TrainingOrder> searchTrainingOrderByPageNoOther(Integer currentPage, Integer pageSize, String trainingOrderName, String trainingOrderIDNumber, Date trainingOrderPayDate);

    //查询自己的实训订单（条件）
    List<TrainingOrder> searchMyTrainingOrder(String training_order_name, String training_order_IDNumber, Date training_order_payDate, String personname);

    //查询自己的实训订单  分页
    PageInfo<TrainingOrder> searchMyTrainingOrderByPage(Integer currentPage, Integer pageSize, String trainingOrderName, String trainingOrderIDNumber, Date trainingOrderPayDate, String personname);

    //查找全部实训订单
    List<TrainingOrder> selectAllTrainingOrder();

    //实训订单  分页
    PageInfo<TrainingOrder> selectTrainingOrderByPage(Integer currentPage, Integer pageSize);

    //查找全部市场的实训订单
    List<TrainingOrder> selectAllTrainingOrderNoOther();

    //查找全部市场的实训订单  分页
    PageInfo<TrainingOrder> selectTrainingOrderByPageNoOther(Integer currentPage, Integer pageSize);

    //查找自己的实训订单  分页
    PageInfo<TrainingOrder> selectMyTrainingOrderByPage(Integer currentPage, Integer pageSize, String personname);

    //查询所有渠道专员
    List<Integer> findMid();

    //渠道专员累计招生人数
    Integer countStu(Integer id);

    Integer countStuWeek(Integer name);
}
